home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / advbas9b.zip / ADVBAS.QRF < prev    next >
Text File  |  1990-02-09  |  20KB  |  489 lines

  1.                            ADVBAS v99B Quick Reference
  2.  
  3.  
  4.  
  5. Note: variable names here are chosen for special clarity and may not match
  6. those found in the ADVBAS.DOC file.  The names of the variables used are not
  7. important per se and may be readily changed.  This is a quick reference for
  8. your convenience and is not intended to be used without the ADVBAS.DOC
  9. manual.
  10.  
  11.  
  12.  AddMatI       Add an integer to an array.
  13.                DSeg% = VARSEG(Array%(1))
  14.                DOfs% = VARPTR(Array%(1))
  15.                CALL AddMatI(DSeg%, DOfs%, ArraySize%, Value%, ErrCode%)
  16.  
  17.  Any2Dec       Convert an integer in any base (2-35) to decimal (base 10).
  18.                CALL Any2Dec(Number$, NumBase%, Result%, ErrCode%)
  19.  
  20.  BkScroll      Scroll part of the screen backwards or clear it.
  21.                CALL BkScroll(LeftCol%, TopRow%, RtCol%, BotRow%, Times%)
  22.  
  23.  BkSpace       Destructive backspace.
  24.                CALL BkSpace(Column%, Row%)
  25.                LOCATE Row%, Column%
  26.  
  27.  BlockMove     Copy information from one area of memory to another.
  28.                Direction: 0 forward, nonzero backward
  29.                CALL BlockMove(FromSeg%, FromOfs%, ToSeg%, ToOfs%,
  30.                               Bytes%, Direction%)
  31.  
  32.  BSq           Squeeze the blanks out of a text string by encoding it.
  33.                CALL BSq(St$, SLen%)
  34.                St$ = LEFT$(St$, SLen%)
  35.  
  36.  BUsqLen       Tell how long a BSq'ed string will be once unsqueezed.
  37.                CALL BUsqLen(St$, SLen%)
  38.                OrigSt$ = SPACE$(SLen%)
  39.  
  40.  BUsq          Unsqueeze a BSq'ed string (use this -after- BUsqLen).
  41.                CALL BUsq(St$, OrigSt$)
  42.  
  43.  CalcAttr      Calculate attribute (for Xqprint, etc) from colors.
  44.                CALL CalcAttr(ForeGround%, BackGround%, Attribute%)
  45.  
  46.  Carrier       Get modem Carrier Detect status.  Status: 0 off, nonzero on.
  47.                CALL Carrier(CommPort%, CD%)
  48.  
  49.  Checksum      Calculate Xmodem-type checksum for a string.
  50.                CALL Checksum(St$, Chksum%)
  51.  
  52.  ClrEOL        Clear to the end of the current screen line.
  53.                CALL ClrEOL
  54.  
  55.  ClrKbd        Clear the keyboard buffer of any pending keys.
  56.                CALL ClrKbd
  57.  
  58.  CopyFile      Copies a file.
  59.                CALL CopyFile(FromFile$ + CHR$(0), ToFile$ + CHR$(0), ErrCode%)
  60.  
  61.  CRC           Calculate Xmodem-type Cyclical Redundancy Check for a string.
  62.                CALL CRC(St$, HiCRC%, LoCRC%)
  63.  
  64.  Crunch        Convert all sequences of a given char to a single character.
  65.                CALL Crunch(St$, Ch$, SLen%)
  66.                St$ = LEFT$(St$, SLen%)
  67.  
  68.  DataSeg       Return BASIC's Data Segment.
  69.                CALL DataSeg(DSeg%)
  70.  
  71.  Date2Int      Squeeze a date to a single integer.
  72.                CALL Date2Int(Mnth%, Day%, Year%, Result%)
  73.  
  74.  DateN2S       Convert a date from numeric to string form.
  75.                CALL DateN2S(Mnth%, Day%, Year%, Result$)
  76.  
  77.  DateS2N       Convert a date from string to numeric form.
  78.                CALL DateS2N(Mnth%, Day%, Year%, DateSt$)
  79.  
  80.  Dec2Any       Converts a decimal (base 10) integer to any base (2-35).
  81.                CALL Dec2Any(Number%, NumBase%, Result$, RLen%)
  82.                Result$ = RIGHT$(Result$, RLen%)
  83.  
  84.  Delay         Delays for a given number of seconds.
  85.                CALL Delay(Seconds%)
  86.  
  87.  Delay18th     Delays for a given number of 18ths of seconds.
  88.                CALL Delay18th(FracSeconds%)
  89.  
  90.  DelChr        Delete a char from the specified screen location.
  91.                CALL DelChr(Row%, Column%)
  92.  
  93.  DelSub        Delete a subdirectory.
  94.                CALL DelSub(SubDir$ + CHR$(0), ErrCode%)
  95.  
  96.  DiskStat      Returns disk status information.
  97.                CALL DiskStat(Drive$, FreeClusters%, Clusters%,
  98.                              BytesPerSector%, SectorsPerCluster%)
  99.  
  100.  DmPrint       Displays a string using only DOS functions.
  101.                CALL DmPrint(St$)
  102.  
  103.  DOSInkey      Get a character from the DOS standard input device.
  104.                CALL DOSInkey(ChrCode%, ChrType%)
  105.  
  106.  DrvSpace      Return free space left on disk (error returns negative value).
  107.                CALL DrvSpace(Drive$, A%, B%, C%)
  108.                FreeSpace& = CLNG(A%) * CLNG(B%) * CLNG(C%)
  109.  
  110.  DTR           Set the comm signal DTR.  DTRState: 0 off, nonzero on.
  111.                CALL DTR(CommPort%, DTRState%)
  112.  
  113.  Equipment     Return hardware configuration: K of RAM and I/O ports.
  114.                CALL Equipment(Memory%, Parallel%, Serial%, Joystick%)
  115.  
  116.  Exist         See if a given file exists (no wildcards).
  117.                CALL Exist(File$ + CHR$(0), FileExists%)
  118.                IF FileExists% THEN PRINT "File exists"
  119.  
  120.  Extract       Extract a substring from a string using a given delimiter.
  121.                CALL Extract(St$, Delim$, Index%, Start%, SLen%)
  122.                SubStr$ = MID$(St$, Start%, SLen%)
  123.  
  124.  FClose        Close a file opened by FOpen or FCreate.
  125.                CALL FClose(Handle%)
  126.  
  127.  FCreate       Create a file or truncate an existing one.
  128.                Attribute: 0 normal, 2 hidden
  129.                CALL FCreate(File$ + CHR$(0), Attr%, Handle%, ErrCode%)
  130.  
  131.  FindFirstF    Get a file using wildcards (used for first call).  See also
  132.                FindNextF, GetNameF, GetAttrF, GetDateF, GetTimeF, GetSizeF.
  133.                CALL FindFirstF(File$ + CHR$(0), Attr%, ErrCode%)
  134.  
  135.  FindNextF     Get the next file using wildcards (see FindFirstF et al).
  136.                CALL FindNextF(ErrCode%)
  137.  
  138.  FOpen         Open an existing file.
  139.                ReadWrite: 0 read, 1 write, 2 read/write
  140.                Sharing: 0 none, 1 exclude, 2 deny wrt, 3 deny read, 4 deny none
  141.                CALL FOpen(File$ + CHR$(0), ReadWrite%, Sharing%, Handle%,
  142.                           ErrCode%)
  143.  
  144.  FRead         Read from a file opened by FOpen or FCreate.
  145.                DSeg% = VARSEG(Buffer)
  146.                DOfs% = VARPTR(Buffer)
  147.                CALL FRead(Handle%, DSeg%, DOfs%, Bytes%, BytesRead%, ErrCode%)
  148.  
  149.  FSetEnd       Move to the end of an open file (for appending).
  150.                CALL FSetEnd(Handle%)
  151.  
  152.  FSetRec       Move to a given record of an open file.
  153.                CALL FSetRec(Handle%, RecSize%, RecNumber%)
  154.  
  155.  FWrite        Write to a file opened by FOPEN or FCREATE.
  156.                DSeg% = VARSEG(Buffer)
  157.                DOfs% = VARPTR(Buffer)
  158.                CALL FWrite(Handle%, DSeg%, DOfs%, Bytes%, BytesWrit%, ErrCode%)
  159.  
  160.  GetAttrF      Get the attribute of a file found with FindFirstF/FindNextF.
  161.                Attribute: 1 readonly, 2 hidden, 4 system, 8 volume label,
  162.                           16 subdir, 32 archive.  Attributes are additive,
  163.                           except volume label, which is exclusive.
  164.                CALL GetAttrF(Attr%)
  165.  
  166.  GetCRT        Get the display type (0: mono, -1: color).
  167.                CALL GetCRT(DisplayType%)
  168.  
  169.  GetDateF      Get the date of a file found with FindFirstF/FindNextF.
  170.                CALL GetDateF(Mnth%, Day%, Year%)
  171.  
  172.  GetDOSv       Get the current DOS version.
  173.                CALL GetDOSv(MajorV%, MinorV%)
  174.  
  175.  GetDrv        Get the current default disk drive.
  176.                Drive$ = "x"
  177.                CALL GetDrv(Drive$)
  178.  
  179.  GetExtM       Get amount of extended memory (AT-compatible systems only).
  180.                CALL GetExtM(KILOBYTES%)
  181.  
  182.  GetFAttr      Get the attribute of a file.
  183.                Attribute: 1 readonly, 2 hidden, 4 system, 8 volume label,
  184.                           16 subdir, 32 archive.  Attributes are additive,
  185.                           except volume label, which is exclusive.
  186.                CALL GetFAttr(File$ + CHR$(0), Attr%)
  187.  
  188.  GetFDate      Get the date of a file.  If error, Mnth is set to -1.
  189.                CALL GetFDate(File$ + CHR$(0), Mnth%, Day%, Year%)
  190.  
  191.  GetFTime      Get the (24hr) time of a file.  If error, Hour is set to -1.
  192.                CALL GetFTime(File$ + CHR$(0), Hour%, Minute%, Second%)
  193.  
  194.  GetKbd        Get the status of the keyboard toggles.
  195.                CALL GetKbd(Insert%, CapsLock%, NumLock%, ScrollLock%)
  196.  
  197.  GetKey        Wait for and return one of a specified list of keys.
  198.                Ky$ = " "
  199.                CALL GetKey(GoodKey$, Ky$)
  200.  
  201.  GetLIMm       Returns the status of expanded memory in the system.
  202.                CALL GetLIMm(TotalPages%, FreePages%)
  203.                ' 16 bytes per page
  204.  
  205.  GetLine       Returns a selected line from a saved screen (see ScrSave).
  206.                St$ = SPACE$(80)
  207.                DSeg% = VARSEG(Buffer)
  208.                DOfs% = VARPTR(Buffer)
  209.                CALL GetLine(DSeg%, DOfs%, Row%, St$, SLen%)
  210.                St$ = LEFT$(St$, SLen%)
  211.  
  212.  GetNameF      Get the filename of a file found using FindFirstF/FindNextF.
  213.                File$ = SPACE$(12)
  214.                CALL GetNameF(File$, FLen%)
  215.                File$ = LEFT$(File$, FLen%)
  216.  
  217.  GetScreen     Get and save any part of any screen page into a buffer.
  218.                DSeg% = VARSEG(Buffer)
  219.                DOfs% = VARPTR(Buffer)
  220.                CALL GetScreen(DSeg%, DOfs%, TopRow%, LeftCol%, BottomRow%,
  221.                               RightCol%, Page%, ScrMode%)
  222.  
  223.  GetSizeF      Get the size of a file found using FindFirstF/FindNextF.
  224.                CALL GetSizeF(SizeLo%, SizeHi%)
  225.                Tmp& = SizeLo% + (SizeLo% < 0) * 65536&
  226.                FileSize& = CLNG(SizeHi%) * 65536& + Tmp%
  227.  
  228.  GetSub        Get the default subdirectory.
  229.                SubDir$ = SPACE$(64)
  230.                CALL GetSub(SubDir$, SLen%)
  231.                SubDir$ = "\" + LEFT$(SubDir$, SLen%)
  232.  
  233.  GetTimeF      Return the time of a file found using FindFirstF/FindNextF.
  234.                CALL GetTimeF(Hour%, Minute%, Second%)
  235.  
  236.  InsChr        Insert a space at the specified screen location.
  237.                CALL InsChr(Row%, Column%)
  238.  
  239.  Int2Date      Unsqueeze a date compressed by Date2Int.
  240.                CALL Int2Date(Mnth%, Day%, Year%, SqzDate%)
  241.  
  242.  Int2Time      Unsqueeze a time compressed by TIME2INT.
  243.                CALL Int2Time(Hour%, Minute%, Second%, SqzTime%)
  244.  
  245.  KeyPress      Returns nonzero if a key is waiting in the keyboard buffer.
  246.                CALL KeyPress(KeyHit%)
  247.  
  248.  LoCase        Convert uppercase characters to lowercase.
  249.                CALL LoCase(St$)
  250.  
  251.  LRotate       Rotate the characters in a string left once.
  252.                CALL LRotate(St$)
  253.  
  254.  MakeSub       Make a subdirectory.
  255.                CALL MakeSub(SubDir$ + CHR$(0), ErrCode%)
  256.  
  257.  MakeWindow    Makes a pop-up window.
  258.                Frame: 0 none, 1 single lines, 2 double lines,
  259.                       3 double v single h, 4 single v double h
  260.                Type: 0 normal, 1 growing, 2 shadowed, 3 growing shadowed
  261.                CALL MakeWindow(LeftCol%, TopRow%, RightCol%, BottomRow%,
  262.                                Label$, Frame%, WType%, Fore%, Back%, Page%)
  263.  
  264.  MDelChr       Delete char at current cursor position, obeying MWindow.
  265.                CALL MDelChr
  266.  
  267.  MInsChr       Insert space at current cursor position, obeying MWindow.
  268.                CALL MInsChr
  269.  
  270.  MLoad         Replacement for the BASIC statement, BLOAD.
  271.                CALL MLoad(File$ + CHR$(0))
  272.  
  273.  MmButton      Returns which mouse buttons are currently pressed.
  274.                CALL MmButton(LeftButton%, RightButton%)
  275.  
  276.  MmCheck       Returns status of mouse & number of buttons.  Resets mouse.
  277.                CALL MmCheck(Buttons%)
  278.                IF Buttons% = 0 THEN PRINT "No mouse is installed."
  279.  
  280.  MmClick       Returns which mouse buttons were clicked since last check.
  281.                CALL MmClick(LeftButton%, RightButton%)
  282.  
  283.  MmCursorOff   Makes the mouse cursor invisible.
  284.                CALL MmCursorOff
  285.  
  286.  MmCursorOn    Makes the mouse cursor visible.
  287.                CALL MmCursorOn
  288.  
  289.  MmGetLoc      Returns the position of the mouse cursor.
  290.                CALL MmGetLoc(Column%, Row%)
  291.  
  292.  MmSetLoc      Sets the position of the mouse cursor.
  293.                CALL MmSetLoc(Column%, Row%)
  294.  
  295.  MmSetRange    Sets the range of permissible values for the mouse cursor.
  296.                CALL MmSetRange(LeftCol%, TopRow%, RightCol%, BottomRow%)
  297.  
  298.  Month         Returns the name of the month, given its number.
  299.                Mnth$ = SPACE$(9)
  300.                CALL MONTH(Mnth$, MLen%, MonthNum%)
  301.                Mnth$ = LEFT$(Mnth$, MLen%)
  302.  
  303.  MPrintC       Display a character using DOS calls, obeying MWindow.
  304.                CALL MPrintC(Ch$, Column%, Row%)
  305.                LOCATE Row%, Column%
  306.  
  307.  MPrint        Display a string using DOS calls, obeying MWindow.
  308.                CALL MPrint(St$, Column%, Row%)
  309.                LOCATE Row%, Column%
  310.  
  311.  MultiAND      Performs an AND on each character of a string.
  312.                CALL MultiAND(St$, ANDvalue%)
  313.  
  314.  MultiOR       Performs an OR on each character of a string.
  315.                CALL MultiOR(ST$, ORvalue%)
  316.  
  317.  MultiXOR      Performs an XOR on each character of a string.
  318.                CALL MultiXOR(St$, XORvalue%)
  319.  
  320.  MWindow       Set up a screen window for MPrint/MPrintC/MInsChr/MDelChr.
  321.                CALL MWindow(LeftCol%, TopRow%, RightCol%, BottomRow%)
  322.  
  323.  PrintScreen   Send the current screen display to the first printer.
  324.                CALL PrintScreen
  325.  
  326.  PutScreen     Put a saved area of the screen back at a given location.
  327.                DSeg% = VARSEG(Buffer)
  328.                DOfs% = VARPTR(Buffer)
  329.                CALL PutScreen(DSeg%, DOfs%, TopRow%, LeftCol%, BottomRow%,
  330.                               RightCol%, Page%, ScrMode%)
  331.  
  332.  QPrint        Quick print to screen.  Doesn't understand control codes.
  333.                CALL QPrint(St$, Row%, Column%)
  334.  
  335.  ReadBitF      Returns a value from an array of arbitrary (1-8) bit length.
  336.                DSeg% = VARSEG(Array%(1))
  337.                DOfs% = VARPTR(Array%(1))
  338.                CALL ReadBitF(DSeg%, DOfs%, Index%, BitLength%, Value%)
  339.  
  340.  ReColor       Switch everything on the screen of one color to another (text).
  341.                CALL CalcAttr(OldFore%, OldBack%, OldAttr%)
  342.                CALL CalcAttr(NewFore%, NewBack%, NewAttr%)
  343.                CALL ReColor(OldAttr%, NewAttr%)
  344.  
  345.  ResetPoint    Resets a point on a text screen (0-79 horiz by 0-49 vert).
  346.                CALL ResetPoint(X%, Y%)
  347.  
  348.  Reverse       Reverse the chars in a string.
  349.                CALL Reverse(St$)
  350.  
  351.  RRotate       Rotate the chars in a string right once.
  352.                CALL RRotate(St$)
  353.  
  354.  Scroll        Scroll a section of the screen up or clear it.
  355.                CALL Scroll(LeftCol%, TopRow%, RtCol%, BotRow%, Times%)
  356.  
  357.  ScrRest       Restore the screen display from an array (see ScrSave).
  358.                DSeg% = VARSEG(Buffer)
  359.                DOfs% = VARPTR(Buffer)
  360.                CALL ScrRest(DSeg%, DOfs%)
  361.  
  362.  ScrRestP      Restore the screen display to a given page from an array.
  363.                DSeg% = VARSEG(Buffer)
  364.                DOfs% = VARPTR(Buffer)
  365.                CALL ScrRestP(DSeg%, DOfs%, Page%)
  366.  
  367.  ScrRestPD     Restore the screen to a given page with direct screen writes.
  368.                DSeg% = VARSEG(Buffer)
  369.                DOfs% = VARPTR(Buffer)
  370.                CALL ScrRestPD(DSeg%, DOfs%, Page%)
  371.  
  372.  ScrSave       Save the current screen display to an array.
  373.                DSeg% = VARSEG(Buffer)
  374.                DOfs% = VARPTR(Buffer)
  375.                CALL ScrSave(DSeg%, DOfs%)
  376.  
  377.  ScrSaveP      Save the display on a given screen page to an array.
  378.                DSeg% = VARSEG(Buffer)
  379.                DOfs% = VARPTR(Buffer)
  380.                CALL ScrSaveP(DSeg%, DOfs%, Page%)
  381.  
  382.  ScrSavePD     Save a given screen page with direct screen reads to an array.
  383.                DSeg% = VARSEG(Buffer)
  384.                DOfs% = VARPTR(Buffer)
  385.                CALL ScrSavePD(DSeg%, DOfs%, Page%)
  386.  
  387.  SetComm       Set a communications port to the given parameters.
  388.                Bps ("baud"): 0=300, 1=600, 2=1200, 3=2400, 4=4800, 5=9600,
  389.                6=19200, 7=38400, 8=57600
  390.                Parity: 0 none, 1 odd, 2 even
  391.                CALL SetComm(CommPort%, Bps%, Parity%, WordLength%, StopBits%)
  392.  
  393.  SetDrv        Set the default drive.
  394.                CALL SetDrv(Drive$)
  395.  
  396.  SetFAttr      Set a file's attribute.
  397.                Attribute: 1 readonly, 2 hidden, 4 system, 32 archive.
  398.                Attributes are additive.
  399.                SetFAttr(File$ + CHR$(0), Attr%)
  400.  
  401.  SetFTD        Set a file's time and date.  If error, returns -1 in Mnth.
  402.                CALL SetFTD(File$ + CHR$(0), Mnth%, Day%, Year%,
  403.                            Hour%, Minute%, Second%)
  404.  
  405.  SetMatI       Set each element of an array to specified integer value.
  406.                DSeg% = VARSEG(Array%(LBOUND(Array%)))
  407.                DOfs% = VARPTR(Array%(LBOUND(Array%)))
  408.                CALL SetMatI(DSeg%, DOfs%, ArraySize%, Value%)
  409.  
  410.  SetKbd        Set the state of the keyboard toggles.
  411.                CALL SetKbd(Insert%, CapsLock%, NumLock%, ScrollLock%)
  412.  
  413.  SetPoint      Set a point on a text screen (0-79 horiz by 0-49 vert).
  414.                CALL SetPoint(X%, Y%)
  415.  
  416.  SetSub        Set the default subdirectory.
  417.                CALL SetSub(SubDir$ + CHR$(0), ErrCode%)
  418.  
  419.  ShiftL        Shift an integer left by Count bits.
  420.                CALL ShiftL(Value%, Count%)
  421.  
  422.  ShiftR        Shift an integer right by Count bits.
  423.                CALL ShiftR(Value%, Count%)
  424.  
  425.  Soundex       Returns the Soundex code for a string.
  426.                SoundexCode$ = St$
  427.                CALL Soundex(St$, SoundexCode$, SLen%)
  428.                SoundexCode$ = LEFT$(SoundexCode$, SLen%)
  429.  
  430.  Strip         Strips occurrences of a specified character from a string.
  431.                CALL Strip(St$, Ch$, SLen%)
  432.                St$ = LEFT$(St$, SLen%)
  433.  
  434.  StripBlanks   Strips blanks (and control chars) from left (1), right (2),
  435.                or both (3) sides of a string.
  436.                CALL StripBlanks(St$, StripWhich%, SLen%)
  437.                St$ = LEFT$(St$, SLen%)
  438.  
  439.  StripRange    Strips characters within a given range from a string.
  440.                CALL StripRange(St$, Lo%, Hi%, SLen%)
  441.                St$ = LEFT$(St$, SLen%)
  442.  
  443.  SubExist      See if a subdirectory exists (drive specification is allowed).
  444.                CALL SubExist(SubDir$ + CHR$(0), SubDirExists%)
  445.                IF SubDirExists% THEN PRINT "Subdirectory exists"
  446.  
  447.  TestPoint     Tests a point on a text screen (0-79 horiz by 0-49 vert).
  448.                CALL TestPoint(X%, Y%, Result%)
  449.  
  450.  Time2Int      Squeeze the time down to a single integer.
  451.                CALL Time2Int(Hour%, Minute%, Second%, SqzTime%)
  452.  
  453.  TimeN2S       Convert a time from numeric to string form.
  454.                TimeSt$ = SPACE$(8)
  455.                CALL TimeN2S(Hour%, Minute%, Second%, TimeSt$)
  456.  
  457.  TimeS2N       Convert a time from string to numeric form.
  458.                CALL TimeS2N(Hour%, Minute%, Second%, TimeSt$)
  459.  
  460.  TInstr        Search for a given type of character in a string.
  461.                Alpha=1, Numeric=2, Symbol=4, Control=8, Graphics=16, Blank=32.
  462.                CALL TInstr(St$, ChrType%, Place%)
  463.  
  464.  UpCase        Convert a string to uppercase.
  465.                CALL UpCase(St$)
  466.  
  467.  WeekDay       Return the weekday (1 - 7, Sunday through Saturday).
  468.                CALL WeekDay(Day%)
  469.  
  470.  WriteBitF     Put a value in an array of arbitrary (1-8) bit length.
  471.                DSeg% = VARSEG(Array%(1))
  472.                DOfs% = VARPTR(Array%(1))
  473.                CALL WriteBitF(DSeg%, DOfs%, Index%, BitLength%, Value%)
  474.  
  475.  Xlate         Translates each character of a string using a table
  476.                CALL Xlate(Ch$, XlateTable$)
  477.  
  478.  XmPrint       Translate a char, and if it's not NUL, display it via DOS.
  479.                CALL XmPrint(Ch$, XlateTable$, Column%, Row%)
  480.                LOCATE Row%, Column%
  481.  
  482.  XqPrint       Extended quick print, with color and page selection.
  483.                CALL CalcAttr(ForeGround%, BackGround%, Attr%)
  484.                CALL XqPrint(St$, Row%, Column%, Attr%, Page%)
  485.  
  486.  XqPrintD      Extended direct quick print, with color and page selection.
  487.                CALL CalcAttr(ForeGround%, BackGround%, Attr%)
  488.                CALL XqPrintD(St$, Row%, Column%, Attr%, Page%)
  489.